package com.lin.manager.system.model.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @作者: 林江
 * @创建时间: 2024/3/12
 * @功能:
 */
@Data
public class RouteVo {
    @ApiModelProperty("菜单名称")
    private String name;
    @ApiModelProperty("路由地址")
    private String path;
    @ApiModelProperty("组件路径")
    private String component;
    @ApiModelProperty("组件元数据")
    private Meta meta;
    @ApiModelProperty("是否隐藏 0-否，1-是")
    private Boolean hidden;
    private List<RouteVo> children;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Meta {
        @ApiModelProperty("菜单名称")
        private String title;
        @ApiModelProperty("菜单图标")
        private String icon;
        @ApiModelProperty("是否缓存 0-否，1-是")
        private Boolean isCache;
    }
}

